/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package internalAPI;

/**
 * This interface is common for all QueryExecutor backends
 * @author Lukas Rucka, Masaryk University, Brno, Czech Republic, xrucka@fi.muni.cz
 */
public interface QueryExecutor {

    /**
     * Processes the query, returns KML in it's string representation
     * @param query - query with query arguments
     * @return kml response for the query
     */
    String processQuery(Query query);

    /**
     * Stores the place into the database
     * @param kml - kml-like xml containing Placemarks
     * @return false if incompatible input
     */
    boolean storePlace(String kml);

}
